package cn.iocoder.yudao.module.cont.dal.dataobject.base;

import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;

/**
 * 合同基础信息表  DO
 *
 * @author 芋道源码
 */
@TableName("cont_base_info")
@KeySequence("cont_base_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BaseInfoDO extends BaseDO {

    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 合同编号
     */
    private String htid;
    /**
     * 合同名称
     */
    private String htmc;
    /**
     * 合同类型
     *
     * 枚举 {@link TODO cont_htlx 对应的类}
     */
    private String htlx;
    /**
     * 合同类别
     *
     * 枚举 {@link TODO cont_htlb 对应的类}
     */
    private String htlb;
    /**
     * 二维码/条形码
     */
    private String ewm;
    /**
     * 合同金额
     */
    private BigDecimal htje;
    /**
     * 服务开始时间
     */
//    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
//    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime kssj;
    /**
     * 服务结束时间
     */
//    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime jssj;
    /**
     * 项目名称
     */
    private String xmmc;
    /**
     * 部门
     */
    private String bm;
    /**
     * 负责人
     */
    private String fzr;
    /**
     * 合同执行方式
     */
    private String zxfs;
    /**
     * 合同主要内容
     */
    private String zynr;
    /**
     * 付款方式
     *
     * 枚举 {@link TODO cont_fkfs 对应的类}
     */
    private String fkfs;
    /**
     * 客户单位
     */
    private String khdw;
    /**
     * 客户联系人
     */
    private String khlxr;
    /**
     * 合同状态
     *
     * 枚举 {@link TODO cont_htzt 对应的类}
     */
    private String htzt;
    /**
     * 备注
     */
    private String bz;
    /**
     * 签订时间
     */
//    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
//    @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime qdsj;
    /**
     * 线号
     */
    private String xid;
    /**
     * A端地址
     */
    private String jrdd;
    /**
     * Z端地址
     */
    private String scdd;

}